Auto Scaling에서 자동 스케일, 수동 스케일을 통해 EC2 인스턴스를 추가 및 제거해 보기
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Auto Scaling에서 자동 스케일, 수동 스케일을 통해 EC2 인스턴스를 추가 및 제거해 보는 방법을 정리해 봤습니다.
Auto Scaling 그룹 생성
먼저 자동 스케일, 수동 스케일을 테스트하기 전에 Auto Scaling 그룹을 생성해야 합니다.
생성하기에 앞서 시작 템플릿을 생성합니다.
스펙은 다음과 같이 설정했습니다.
- 인스턴스 타입 m6i.large
- OS : Amazon Linux 2 Kernel 5.10 AMI 2.0.20231101.0 x86_64 HVM gp2
- Auto Scaling 그룹의 이름을 입력합니다.
- 조금 전 생성한 시작 템플릿을 선택합니다.
- VPC를 선택합니다.
- Auto Scaling을 통해 EC2가 생성될 가용 영역 및 서브넷을 선택합니다.
- 그룹 크기를 지정합니다.
- 크기 조정 정책의 경우「없음」으로 선택합니다.
- 이후 별도로 정책을 생성하여 스케일 작업을 실시할 생각입니다.
그 외 설정값들은 디폴트로 진행하여 Auto Scaling 그룹을 생성했습니다.
자동 스케일
Auto Scaling 그룹에서「동적 크기 조정 정책 생성」을 클릭합니다.
- 「단순 크기 조정」을 선택합니다.
- 아직 생성한 CloudWatch 알람이 없기 때문에「CloudWatch 경보 생성」을 클릭합니다.
지표에서 EC2 → Auto Scaling 그룹별에서 대상이되는 Auto Scaling 그룹의「CPUUtilization」지표를 선택합니다.
- 「정적」을 선택합니다.
- 「보다 크거나 같음」을 선택합니다.
- 보다 수월한 테스트를 위해 임계값을「35」로 설정했습니다.
그 외 디폴트 값으로 CloudWatch 알람을 생성합니다.
이번에는 EC2 인스턴스를 제거하기 위한 CloudWatch 알람입니다.
- 「보다 작거나 같음」을 선택합니다.
- 10보다 작은 경우 추가 인스턴스를 삭제합니다.
CloudWatch 알람 설정이 끝났다면 다시 Auto Scaling 그룹으로 돌아와서 정책을 생성합니다.
- 「단순 크기 조정」을 선택합니다.
- 조금 전 생성한 CloudWatch 알람을 선택합니다.
- CPU 사용률이 35%를 넘으면 EC2 인스턴스 1대를 추가합니다.
- 「생성」을 클릭합니다.
반대로 CPU 사용률이 10% 보다 작거나 같은 경우 EC2 인스턴스 1대를 삭제한다는 정책도 생성합니다.
테스트를 위해 인위적으로 CPU 사용률을 올립니다.
상세한 명령어는 아래 블로그를 참고해 주세요.
실제로 CPU 사용률이 35%를 넘었더니 하나의 EC2 인스턴스가 추가 되었습니다.
작업 기록을 확인해 보면, 설정한 CloudWatch 알람을 통해 EC2 인스턴스가 추가된 것을 확인할 수 있습니다.
이후 CPU 사용률이 10% 밑으로 떨어지면 한 대의 EC2 인스턴스를 삭제합니다.
수동 스케일
수동 스케일의 경우 직접 Auto Scaling 그룹을 편집하여 EC2 인스턴스를 늘리는 방식입니다.
그룹 크기에서 원하는 용량을 수정합니다.
상태가「용량 업데이트 중」으로 변경됩니다.
용량 업데이트가 끝난 후 EC2 인스턴스를 확인해 보면 한 대의 인스턴스가 추가되어 총 3대의 EC2 인스턴스가 실행 중인 것을 확인할 수 있습니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 [email protected]로 보내주시면 감사하겠습니다.